package com.dozen.commonbase.bean;

import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.dozen.commonbase.R;
import com.dozen.commonbase.view.banner.SimpleBannerEntry;

/**
 * 创建人 Dozen
 */

public class DozenBannerEntry extends SimpleBannerEntry<DozenBean> {

    private DozenBean dozenBean;

    public DozenBannerEntry(DozenBean dozenBean) {
        this.dozenBean = dozenBean;
    }

    /**
     * 获取当前页面的布局视图。
     *
     * @param parent 当前的布局视图的父节点布局。
     * @return 返回当前页面所要显示的View。
     */
    @Override
    @androidx.annotation.NonNull
    public android.view.View onCreateView(ViewGroup parent) {
        android.view.View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.dozen_layout_banner_item, parent, false);
        ImageView imageView = view.findViewById(R.id.item_banner_image);
        //这是的Glide代码只是为了掩饰加载网络图片，如果你还不了解Glide的使用可以参考官方文档或他人博客。
        //这个库没有集成图片框架是因为大家的项目中所使用的图片框架可能不是都是一样的。我认为使用什么图片框架应该由大家自己决定，而不是我来集成。
        com.bumptech.glide.Glide.with(parent.getContext())
                .load(dozenBean.getPicture())
                .error(R.mipmap.net_bad)
                .into(imageView);
        return view;
    }

    /**
     * 获取标题。
     *
     * @return 返回当前条目的标题。
     */
    @Override
    public CharSequence getTitle() {
        return dozenBean.getName();
    }

    /**
     * 获取子标题。
     *
     * @return 返回当前条目的子标题。
     */
    @androidx.annotation.Nullable
    @Override
    public CharSequence getSubTitle() {
        return dozenBean.getName();
    }

    @androidx.annotation.NonNull
    @Override
    public String getImageUrl() {
        return dozenBean.getPicture();
    }

    /**
     * 获取当前页面的数据。改方法为辅助方法，是为了方便使用者调用而提供的，Api本身并没有任何调用。如果你不需要该方法可以空实现。
     *
     * @return 返回当前页面的数据。
     */
    @Override
    public DozenBean getValue() {
        return dozenBean;
    }
}
